package br.ucb.indica.CRUD;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.ucb.indica.DAO.ProjetoDAO;
import br.ucb.indica.enumerador.Cargo;
import br.ucb.indica.negocio.ProjetoBean;

@WebServlet("/projetocrud")
public class ProjetoCRUD extends HttpServlet implements Servlet{
	private static final long serialVersionUID = 1L;
       
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
		
		RequestDispatcher dispatcher;
		String acao=request.getParameter("acao"), pagina=null;
		HttpSession session = request.getSession(true);
//		List<ProjetoBean> projetoLista;
		ProjetoDAO projetoDao;
		
		
		ProjetoBean projeto = new ProjetoBean();
	
		try{
						
			projetoDao = new ProjetoDAO();
			
			if (acao == null) {
				request.setAttribute("cargos", Cargo.values());
				pagina = "/entidade/projetoEntrada.jsp";
			}
									
			else if ((acao != null) && (acao.equals("salvar"))) {
			
		// Recebe valores do formulario
				
				
				if (request.getParameter("nome") != null){
					projeto.setNome(request.getParameter("nome"));
					System.out.println(request.getParameter("nome"));
				}
				
//				else{
//					request.setAttribute("erro", "Campo nome obrigatorio");
//					pagina = "/entidade/pessoaEntrada.jsp";
//				}
				
				if (request.getParameter("descricao") != null){
					projeto.setDescricao(request.getParameter("descricao"));
					System.out.println(request.getParameter("descricao"));
					
				}
 
       
//	List <PessoaBean> pessoa = (List<PessoaBean>) session.getAttribute("id");    
//          for(PessoaBean id : pessoa){  
//            System.out.println(id.getId());  
//          }   
          
				if (projetoDao.incluir(projeto) > 0){
					request.setAttribute("mensagem", "Incluído com sucesso");
					request.setAttribute("projeto", projeto);
					pagina = "logado.jsp";
				}
				else {
					request.setAttribute("erro", "Erro de inclusão");
								
				}
			}
		
			session.setAttribute("projeto", projeto);
			dispatcher = request.getRequestDispatcher(pagina);;
			dispatcher.forward(request, response);
								
		}catch(SQLException | NoSuchAlgorithmException e){
			request.setAttribute("erro", "Erro de banco de dados");
			pagina = "/entidade/projetoEntrada.jsp";

		}
	}
}	
